home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / javax / swing / JOptionPane.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  16.8 KB  |  821 lines

  1. package javax.swing;
  2.  
  3. import java.awt.BorderLayout;
  4. import java.awt.Component;
  5. import java.awt.Container;
  6. import java.awt.Dialog;
  7. import java.awt.Dimension;
  8. import java.awt.Frame;
  9. import java.awt.HeadlessException;
  10. import java.awt.KeyboardFocusManager;
  11. import java.awt.Point;
  12. import java.awt.Window;
  13. import java.awt.event.WindowListener;
  14. import java.beans.PropertyVetoException;
  15. import java.io.IOException;
  16. import java.io.ObjectInputStream;
  17. import java.io.ObjectOutputStream;
  18. import java.io.Serializable;
  19. import java.lang.reflect.InvocationTargetException;
  20. import java.lang.reflect.Method;
  21. import java.security.AccessController;
  22. import java.util.Vector;
  23. import javax.accessibility.Accessible;
  24. import javax.accessibility.AccessibleContext;
  25. import javax.swing.plaf.OptionPaneUI;
  26.  
  27. public class JOptionPane extends JComponent implements Accessible {
  28.    private static final String uiClassID = "OptionPaneUI";
  29.    public static final Object UNINITIALIZED_VALUE = "uninitializedValue";
  30.    public static final int DEFAULT_OPTION = -1;
  31.    public static final int YES_NO_OPTION = 0;
  32.    public static final int YES_NO_CANCEL_OPTION = 1;
  33.    public static final int OK_CANCEL_OPTION = 2;
  34.    public static final int YES_OPTION = 0;
  35.    public static final int NO_OPTION = 1;
  36.    public static final int CANCEL_OPTION = 2;
  37.    public static final int OK_OPTION = 0;
  38.    public static final int CLOSED_OPTION = -1;
  39.    public static final int ERROR_MESSAGE = 0;
  40.    public static final int INFORMATION_MESSAGE = 1;
  41.    public static final int WARNING_MESSAGE = 2;
  42.    public static final int QUESTION_MESSAGE = 3;
  43.    public static final int PLAIN_MESSAGE = -1;
  44.    public static final String ICON_PROPERTY = "icon";
  45.    public static final String MESSAGE_PROPERTY = "message";
  46.    public static final String VALUE_PROPERTY = "value";
  47.    public static final String OPTIONS_PROPERTY = "options";
  48.    public static final String INITIAL_VALUE_PROPERTY = "initialValue";
  49.    public static final String MESSAGE_TYPE_PROPERTY = "messageType";
  50.    public static final String OPTION_TYPE_PROPERTY = "optionType";
  51.    public static final String SELECTION_VALUES_PROPERTY = "selectionValues";
  52.    public static final String INITIAL_SELECTION_VALUE_PROPERTY = "initialSelectionValue";
  53.    public static final String INPUT_VALUE_PROPERTY = "inputValue";
  54.    public static final String WANTS_INPUT_PROPERTY = "wantsInput";
  55.    protected transient Icon icon;
  56.    protected transient Object message;
  57.    protected transient Object[] options;
  58.    protected transient Object initialValue;
  59.    protected int messageType;
  60.    protected int optionType;
  61.    protected transient Object value;
  62.    protected transient Object[] selectionValues;
  63.    protected transient Object inputValue;
  64.    protected transient Object initialSelectionValue;
  65.    protected boolean wantsInput;
  66.    private static final Object sharedFrameKey = JOptionPane.class;
  67.  
  68.    public static String showInputDialog(Object var0) throws HeadlessException {
  69.       return showInputDialog((Component)null, var0);
  70.    }
  71.  
  72.    public static String showInputDialog(Object var0, Object var1) {
  73.       return showInputDialog((Component)null, var0, var1);
  74.    }
  75.  
  76.    public static String showInputDialog(Component var0, Object var1) throws HeadlessException {
  77.       return showInputDialog(var0, var1, UIManager.getString("OptionPane.inputDialogTitle", var0), 3);
  78.    }
  79.  
  80.    public static String showInputDialog(Component var0, Object var1, Object var2) {
  81.       return (String)showInputDialog(var0, var1, UIManager.getString("OptionPane.inputDialogTitle", var0), 3, (Icon)null, (Object[])null, var2);
  82.    }
  83.  
  84.    public static String showInputDialog(Component var0, Object var1, String var2, int var3) throws HeadlessException {
  85.       return (String)showInputDialog(var0, var1, var2, var3, (Icon)null, (Object[])null, (Object)null);
  86.    }
  87.  
  88.    public static Object showInputDialog(Component var0, Object var1, String var2, int var3, Icon var4, Object[] var5, Object var6) throws HeadlessException {
  89.       JOptionPane var7 = new JOptionPane(var1, var3, 2, var4, (Object[])null, (Object)null);
  90.       var7.setWantsInput(true);
  91.       var7.setSelectionValues(var5);
  92.       var7.setInitialSelectionValue(var6);
  93.       var7.setComponentOrientation(((Component)(var0 == null ? getRootFrame() : var0)).getComponentOrientation());
  94.       int var8 = styleFromMessageType(var3);
  95.       JDialog var9 = var7.createDialog(var0, var2, var8);
  96.       var7.selectInitialValue();
  97.       var9.show();
  98.       var9.dispose();
  99.       Object var10 = var7.getInputValue();
  100.       return var10 == UNINITIALIZED_VALUE ? null : var10;
  101.    }
  102.  
  103.    public static void showMessageDialog(Component var0, Object var1) throws HeadlessException {
  104.       showMessageDialog(var0, var1, UIManager.getString("OptionPane.messageDialogTitle", var0), 1);
  105.    }
  106.  
  107.    public static void showMessageDialog(Component var0, Object var1, String var2, int var3) throws HeadlessException {
  108.       showMessageDialog(var0, var1, var2, var3, (Icon)null);
  109.    }
  110.  
  111.    public static void showMessageDialog(Component var0, Object var1, String var2, int var3, Icon var4) throws HeadlessException {
  112.       showOptionDialog(var0, var1, var2, -1, var3, var4, (Object[])null, (Object)null);
  113.    }
  114.  
  115.    public static int showConfirmDialog(Component var0, Object var1) throws HeadlessException {
  116.       return showConfirmDialog(var0, var1, UIManager.getString("OptionPane.titleText"), 1);
  117.    }
  118.  
  119.    public static int showConfirmDialog(Component var0, Object var1, String var2, int var3) throws HeadlessException {
  120.       return showConfirmDialog(var0, var1, var2, var3, 3);
  121.    }
  122.  
  123.    public static int showConfirmDialog(Component var0, Object var1, String var2, int var3, int var4) throws HeadlessException {
  124.       return showConfirmDialog(var0, var1, var2, var3, var4, (Icon)null);
  125.    }
  126.  
  127.    public static int showConfirmDialog(Component var0, Object var1, String var2, int var3, int var4, Icon var5) throws HeadlessException {
  128.       return showOptionDialog(var0, var1, var2, var3, var4, var5, (Object[])null, (Object)null);
  129.    }
  130.  
  131.    public static int showOptionDialog(Component var0, Object var1, String var2, int var3, int var4, Icon var5, Object[] var6, Object var7) throws HeadlessException {
  132.       JOptionPane var8 = new JOptionPane(var1, var4, var3, var5, var6, var7);
  133.       var8.setInitialValue(var7);
  134.       var8.setComponentOrientation(((Component)(var0 == null ? getRootFrame() : var0)).getComponentOrientation());
  135.       int var9 = styleFromMessageType(var4);
  136.       JDialog var10 = var8.createDialog(var0, var2, var9);
  137.       var8.selectInitialValue();
  138.       var10.show();
  139.       var10.dispose();
  140.       Object var11 = var8.getValue();
  141.       if (var11 == null) {
  142.          return -1;
  143.       } else if (var6 == null) {
  144.          return var11 instanceof Integer ? (Integer)var11 : -1;
  145.       } else {
  146.          int var12 = 0;
  147.  
  148.          for(int var13 = var6.length; var12 < var13; ++var12) {
  149.             if (var6[var12].equals(var11)) {
  150.                return var12;
  151.             }
  152.          }
  153.  
  154.          return -1;
  155.       }
  156.    }
  157.  
  158.    public JDialog createDialog(Component var1, String var2) throws HeadlessException {
  159.       int var3 = styleFromMessageType(this.getMessageType());
  160.       return this.createDialog(var1, var2, var3);
  161.    }
  162.  
  163.    public JDialog createDialog(String var1) throws HeadlessException {
  164.       int var2 = styleFromMessageType(this.getMessageType());
  165.       JDialog var3 = new JDialog((Dialog)null, var1, true);
  166.       this.initDialog(var3, var2, (Component)null);
  167.       return var3;
  168.    }
  169.  
  170.    private JDialog createDialog(Component var1, String var2, int var3) throws HeadlessException {
  171.       Window var5 = getWindowForComponent(var1);
  172.       JDialog var4;
  173.       if (var5 instanceof Frame) {
  174.          var4 = new JDialog((Frame)var5, var2, true);
  175.       } else {
  176.          var4 = new JDialog((Dialog)var5, var2, true);
  177.       }
  178.  
  179.       if (var5 instanceof SwingUtilities.SharedOwnerFrame) {
  180.          WindowListener var6 = SwingUtilities.getSharedOwnerFrameShutdownListener();
  181.          var4.addWindowListener(var6);
  182.       }
  183.  
  184.       this.initDialog(var4, var3, var1);
  185.       return var4;
  186.    }
  187.  
  188.    private void initDialog(JDialog var1, int var2, Component var3) {
  189.       var1.setComponentOrientation(this.getComponentOrientation());
  190.       Container var4 = var1.getContentPane();
  191.       var4.setLayout(new BorderLayout());
  192.       var4.add(this, "Center");
  193.       var1.setResizable(false);
  194.       if (JDialog.isDefaultLookAndFeelDecorated()) {
  195.          boolean var5 = UIManager.getLookAndFeel().getSupportsWindowDecorations();
  196.          if (var5) {
  197.             var1.setUndecorated(true);
  198.             this.getRootPane().setWindowDecorationStyle(var2);
  199.          }
  200.       }
  201.  
  202.       var1.pack();
  203.       var1.setLocationRelativeTo(var3);
  204.       1 var6 = new 1(this);
  205.       var1.addWindowListener(var6);
  206.       var1.addWindowFocusListener(var6);
  207.       var1.addComponentListener(new 2(this));
  208.       this.addPropertyChangeListener(new 3(this, var1));
  209.    }
  210.  
  211.    public static void showInternalMessageDialog(Component var0, Object var1) {
  212.       showInternalMessageDialog(var0, var1, UIManager.getString("OptionPane.messageDialogTitle", var0), 1);
  213.    }
  214.  
  215.    public static void showInternalMessageDialog(Component var0, Object var1, String var2, int var3) {
  216.       showInternalMessageDialog(var0, var1, var2, var3, (Icon)null);
  217.    }
  218.  
  219.    public static void showInternalMessageDialog(Component var0, Object var1, String var2, int var3, Icon var4) {
  220.       showInternalOptionDialog(var0, var1, var2, -1, var3, var4, (Object[])null, (Object)null);
  221.    }
  222.  
  223.    public static int showInternalConfirmDialog(Component var0, Object var1) {
  224.       return showInternalConfirmDialog(var0, var1, UIManager.getString("OptionPane.titleText"), 1);
  225.    }
  226.  
  227.    public static int showInternalConfirmDialog(Component var0, Object var1, String var2, int var3) {
  228.       return showInternalConfirmDialog(var0, var1, var2, var3, 3);
  229.    }
  230.  
  231.    public static int showInternalConfirmDialog(Component var0, Object var1, String var2, int var3, int var4) {
  232.       return showInternalConfirmDialog(var0, var1, var2, var3, var4, (Icon)null);
  233.    }
  234.  
  235.    public static int showInternalConfirmDialog(Component var0, Object var1, String var2, int var3, int var4, Icon var5) {
  236.       return showInternalOptionDialog(var0, var1, var2, var3, var4, var5, (Object[])null, (Object)null);
  237.    }
  238.  
  239.    public static int showInternalOptionDialog(Component var0, Object var1, String var2, int var3, int var4, Icon var5, Object[] var6, Object var7) {
  240.       JOptionPane var8 = new JOptionPane(var1, var4, var3, var5, var6, var7);
  241.       var8.putClientProperty(PopupFactory.forceHeavyWeightPopupKey, Boolean.TRUE);
  242.       Component var9 = KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusOwner();
  243.       var8.setInitialValue(var7);
  244.       JInternalFrame var10 = var8.createInternalFrame(var0, var2);
  245.       var8.selectInitialValue();
  246.       var10.setVisible(true);
  247.       if (var10.isVisible() && !var10.isShowing()) {
  248.          for(Container var11 = var10.getParent(); var11 != null; var11 = var11.getParent()) {
  249.             if (!var11.isVisible()) {
  250.                var11.setVisible(true);
  251.             }
  252.          }
  253.       }
  254.  
  255.       try {
  256.          Object var18 = AccessController.doPrivileged(new ModalPrivilegedAction(Container.class, "startLWModal"));
  257.          if (var18 != null) {
  258.             ((Method)var18).invoke(var10, (Object[])null);
  259.          }
  260.       } catch (IllegalAccessException var15) {
  261.       } catch (IllegalArgumentException var16) {
  262.       } catch (InvocationTargetException var17) {
  263.       }
  264.  
  265.       if (var0 instanceof JInternalFrame) {
  266.          try {
  267.             ((JInternalFrame)var0).setSelected(true);
  268.          } catch (PropertyVetoException var14) {
  269.          }
  270.       }
  271.  
  272.       Object var19 = var8.getValue();
  273.       if (var9 != null && var9.isShowing()) {
  274.          var9.requestFocus();
  275.       }
  276.  
  277.       if (var19 == null) {
  278.          return -1;
  279.       } else if (var6 == null) {
  280.          return var19 instanceof Integer ? (Integer)var19 : -1;
  281.       } else {
  282.          int var12 = 0;
  283.  
  284.          for(int var13 = var6.length; var12 < var13; ++var12) {
  285.             if (var6[var12].equals(var19)) {
  286.                return var12;
  287.             }
  288.          }
  289.  
  290.          return -1;
  291.       }
  292.    }
  293.  
  294.    public static String showInternalInputDialog(Component var0, Object var1) {
  295.       return showInternalInputDialog(var0, var1, UIManager.getString("OptionPane.inputDialogTitle", var0), 3);
  296.    }
  297.  
  298.    public static String showInternalInputDialog(Component var0, Object var1, String var2, int var3) {
  299.       return (String)showInternalInputDialog(var0, var1, var2, var3, (Icon)null, (Object[])null, (Object)null);
  300.    }
  301.  
  302.    public static Object showInternalInputDialog(Component var0, Object var1, String var2, int var3, Icon var4, Object[] var5, Object var6) {
  303.       JOptionPane var7 = new JOptionPane(var1, var3, 2, var4, (Object[])null, (Object)null);
  304.       var7.putClientProperty(PopupFactory.forceHeavyWeightPopupKey, Boolean.TRUE);
  305.       Component var8 = KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusOwner();
  306.       var7.setWantsInput(true);
  307.       var7.setSelectionValues(var5);
  308.       var7.setInitialSelectionValue(var6);
  309.       JInternalFrame var9 = var7.createInternalFrame(var0, var2);
  310.       var7.selectInitialValue();
  311.       var9.setVisible(true);
  312.       if (var9.isVisible() && !var9.isShowing()) {
  313.          for(Container var10 = var9.getParent(); var10 != null; var10 = var10.getParent()) {
  314.             if (!var10.isVisible()) {
  315.                var10.setVisible(true);
  316.             }
  317.          }
  318.       }
  319.  
  320.       try {
  321.          Object var15 = AccessController.doPrivileged(new ModalPrivilegedAction(Container.class, "startLWModal"));
  322.          if (var15 != null) {
  323.             ((Method)var15).invoke(var9, (Object[])null);
  324.          }
  325.       } catch (IllegalAccessException var12) {
  326.       } catch (IllegalArgumentException var13) {
  327.       } catch (InvocationTargetException var14) {
  328.       }
  329.  
  330.       if (var0 instanceof JInternalFrame) {
  331.          try {
  332.             ((JInternalFrame)var0).setSelected(true);
  333.          } catch (PropertyVetoException var11) {
  334.          }
  335.       }
  336.  
  337.       if (var8 != null && var8.isShowing()) {
  338.          var8.requestFocus();
  339.       }
  340.  
  341.       Object var16 = var7.getInputValue();
  342.       return var16 == UNINITIALIZED_VALUE ? null : var16;
  343.    }
  344.  
  345.    public JInternalFrame createInternalFrame(Component var1, String var2) {
  346.       Object var3 = getDesktopPaneForComponent(var1);
  347.       if (var3 != null || var1 != null && (var3 = var1.getParent()) != null) {
  348.          JInternalFrame var4 = new JInternalFrame(var2, false, true, false, false);
  349.          var4.putClientProperty("JInternalFrame.frameType", "optionDialog");
  350.          var4.putClientProperty("JInternalFrame.messageType", new Integer(this.getMessageType()));
  351.          var4.addInternalFrameListener(new 4(this));
  352.          this.addPropertyChangeListener(new 5(this, var4));
  353.          var4.getContentPane().add(this, "Center");
  354.          if (var3 instanceof JDesktopPane) {
  355.             ((Container)var3).add(var4, JLayeredPane.MODAL_LAYER);
  356.          } else {
  357.             ((Container)var3).add(var4, "Center");
  358.          }
  359.  
  360.          Dimension var5 = var4.getPreferredSize();
  361.          Dimension var6 = ((Container)var3).getSize();
  362.          Dimension var7 = var1.getSize();
  363.          var4.setBounds((var6.width - var5.width) / 2, (var6.height - var5.height) / 2, var5.width, var5.height);
  364.          Point var8 = SwingUtilities.convertPoint(var1, 0, 0, (Component)var3);
  365.          int var9 = (var7.width - var5.width) / 2 + var8.x;
  366.          int var10 = (var7.height - var5.height) / 2 + var8.y;
  367.          int var11 = var9 + var5.width - var6.width;
  368.          int var12 = var10 + var5.height - var6.height;
  369.          var9 = Math.max(var11 > 0 ? var9 - var11 : var9, 0);
  370.          var10 = Math.max(var12 > 0 ? var10 - var12 : var10, 0);
  371.          var4.setBounds(var9, var10, var5.width, var5.height);
  372.          ((Container)var3).validate();
  373.  
  374.          try {
  375.             var4.setSelected(true);
  376.          } catch (PropertyVetoException var14) {
  377.          }
  378.  
  379.          return var4;
  380.       } else {
  381.          throw new RuntimeException("JOptionPane: parentComponent does not have a valid parent");
  382.       }
  383.    }
  384.  
  385.    public static Frame getFrameForComponent(Component var0) throws HeadlessException {
  386.       if (var0 == null) {
  387.          return getRootFrame();
  388.       } else {
  389.          return var0 instanceof Frame ? (Frame)var0 : getFrameForComponent(var0.getParent());
  390.       }
  391.    }
  392.  
  393.    static Window getWindowForComponent(Component var0) throws HeadlessException {
  394.       if (var0 == null) {
  395.          return getRootFrame();
  396.       } else {
  397.          return !(var0 instanceof Frame) && !(var0 instanceof Dialog) ? getWindowForComponent(var0.getParent()) : (Window)var0;
  398.       }
  399.    }
  400.  
  401.    public static JDesktopPane getDesktopPaneForComponent(Component var0) {
  402.       if (var0 == null) {
  403.          return null;
  404.       } else {
  405.          return var0 instanceof JDesktopPane ? (JDesktopPane)var0 : getDesktopPaneForComponent(var0.getParent());
  406.       }
  407.    }
  408.  
  409.    public static void setRootFrame(Frame var0) {
  410.       if (var0 != null) {
  411.          SwingUtilities.appContextPut(sharedFrameKey, var0);
  412.       } else {
  413.          SwingUtilities.appContextRemove(sharedFrameKey);
  414.       }
  415.  
  416.    }
  417.  
  418.    public static Frame getRootFrame() throws HeadlessException {
  419.       Frame var0 = (Frame)SwingUtilities.appContextGet(sharedFrameKey);
  420.       if (var0 == null) {
  421.          var0 = SwingUtilities.getSharedOwnerFrame();
  422.          SwingUtilities.appContextPut(sharedFrameKey, var0);
  423.       }
  424.  
  425.       return var0;
  426.    }
  427.  
  428.    public JOptionPane() {
  429.       this("JOptionPane message");
  430.    }
  431.  
  432.    public JOptionPane(Object var1) {
  433.       this(var1, -1);
  434.    }
  435.  
  436.    public JOptionPane(Object var1, int var2) {
  437.       this(var1, var2, -1);
  438.    }
  439.  
  440.    public JOptionPane(Object var1, int var2, int var3) {
  441.       this(var1, var2, var3, (Icon)null);
  442.    }
  443.  
  444.    public JOptionPane(Object var1, int var2, int var3, Icon var4) {
  445.       this(var1, var2, var3, var4, (Object[])null);
  446.    }
  447.  
  448.    public JOptionPane(Object var1, int var2, int var3, Icon var4, Object[] var5) {
  449.       this(var1, var2, var3, var4, var5, (Object)null);
  450.    }
  451.  
  452.    public JOptionPane(Object var1, int var2, int var3, Icon var4, Object[] var5, Object var6) {
  453.       this.message = var1;
  454.       this.options = var5;
  455.       this.initialValue = var6;
  456.       this.icon = var4;
  457.       this.setMessageType(var2);
  458.       this.setOptionType(var3);
  459.       this.value = UNINITIALIZED_VALUE;
  460.       this.inputValue = UNINITIALIZED_VALUE;
  461.       this.updateUI();
  462.    }
  463.  
  464.    public void setUI(OptionPaneUI var1) {
  465.       if ((OptionPaneUI)this.ui != var1) {
  466.          super.setUI(var1);
  467.          this.invalidate();
  468.       }
  469.  
  470.    }
  471.  
  472.    public OptionPaneUI getUI() {
  473.       return (OptionPaneUI)this.ui;
  474.    }
  475.  
  476.    public void updateUI() {
  477.       this.setUI((OptionPaneUI)UIManager.getUI(this));
  478.    }
  479.  
  480.    public String getUIClassID() {
  481.       return "OptionPaneUI";
  482.    }
  483.  
  484.    public void setMessage(Object var1) {
  485.       Object var2 = this.message;
  486.       this.message = var1;
  487.       this.firePropertyChange("message", var2, this.message);
  488.    }
  489.  
  490.    public Object getMessage() {
  491.       return this.message;
  492.    }
  493.  
  494.    public void setIcon(Icon var1) {
  495.       Icon var2 = this.icon;
  496.       this.icon = var1;
  497.       this.firePropertyChange("icon", var2, this.icon);
  498.    }
  499.  
  500.    public Icon getIcon() {
  501.       return this.icon;
  502.    }
  503.  
  504.    public void setValue(Object var1) {
  505.       Object var2 = this.value;
  506.       this.value = var1;
  507.       this.firePropertyChange("value", var2, this.value);
  508.    }
  509.  
  510.    public Object getValue() {
  511.       return this.value;
  512.    }
  513.  
  514.    public void setOptions(Object[] var1) {
  515.       Object[] var2 = this.options;
  516.       this.options = var1;
  517.       this.firePropertyChange("options", var2, this.options);
  518.    }
  519.  
  520.    public Object[] getOptions() {
  521.       if (this.options != null) {
  522.          int var1 = this.options.length;
  523.          Object[] var2 = new Object[var1];
  524.          System.arraycopy(this.options, 0, var2, 0, var1);
  525.          return var2;
  526.       } else {
  527.          return this.options;
  528.       }
  529.    }
  530.  
  531.    public void setInitialValue(Object var1) {
  532.       Object var2 = this.initialValue;
  533.       this.initialValue = var1;
  534.       this.firePropertyChange("initialValue", var2, this.initialValue);
  535.    }
  536.  
  537.    public Object getInitialValue() {
  538.       return this.initialValue;
  539.    }
  540.  
  541.    public void setMessageType(int var1) {
  542.       if (var1 != 0 && var1 != 1 && var1 != 2 && var1 != 3 && var1 != -1) {
  543.          throw new RuntimeException("JOptionPane: type must be one of JOptionPane.ERROR_MESSAGE, JOptionPane.INFORMATION_MESSAGE, JOptionPane.WARNING_MESSAGE, JOptionPane.QUESTION_MESSAGE or JOptionPane.PLAIN_MESSAGE");
  544.       } else {
  545.          int var2 = this.messageType;
  546.          this.messageType = var1;
  547.          this.firePropertyChange("messageType", var2, this.messageType);
  548.       }
  549.    }
  550.  
  551.    public int getMessageType() {
  552.       return this.messageType;
  553.    }
  554.  
  555.    public void setOptionType(int var1) {
  556.       if (var1 != -1 && var1 != 0 && var1 != 1 && var1 != 2) {
  557.          throw new RuntimeException("JOptionPane: option type must be one of JOptionPane.DEFAULT_OPTION, JOptionPane.YES_NO_OPTION, JOptionPane.YES_NO_CANCEL_OPTION or JOptionPane.OK_CANCEL_OPTION");
  558.       } else {
  559.          int var2 = this.optionType;
  560.          this.optionType = var1;
  561.          this.firePropertyChange("optionType", var2, this.optionType);
  562.       }
  563.    }
  564.  
  565.    public int getOptionType() {
  566.       return this.optionType;
  567.    }
  568.  
  569.    public void setSelectionValues(Object[] var1) {
  570.       Object[] var2 = this.selectionValues;
  571.       this.selectionValues = var1;
  572.       this.firePropertyChange("selectionValues", var2, var1);
  573.       if (this.selectionValues != null) {
  574.          this.setWantsInput(true);
  575.       }
  576.  
  577.    }
  578.  
  579.    public Object[] getSelectionValues() {
  580.       return this.selectionValues;
  581.    }
  582.  
  583.    public void setInitialSelectionValue(Object var1) {
  584.       Object var2 = this.initialSelectionValue;
  585.       this.initialSelectionValue = var1;
  586.       this.firePropertyChange("initialSelectionValue", var2, var1);
  587.    }
  588.  
  589.    public Object getInitialSelectionValue() {
  590.       return this.initialSelectionValue;
  591.    }
  592.  
  593.    public void setInputValue(Object var1) {
  594.       Object var2 = this.inputValue;
  595.       this.inputValue = var1;
  596.       this.firePropertyChange("inputValue", var2, var1);
  597.    }
  598.  
  599.    public Object getInputValue() {
  600.       return this.inputValue;
  601.    }
  602.  
  603.    public int getMaxCharactersPerLineCount() {
  604.       return Integer.MAX_VALUE;
  605.    }
  606.  
  607.    public void setWantsInput(boolean var1) {
  608.       boolean var2 = this.wantsInput;
  609.       this.wantsInput = var1;
  610.       this.firePropertyChange("wantsInput", var2, var1);
  611.    }
  612.  
  613.    public boolean getWantsInput() {
  614.       return this.wantsInput;
  615.    }
  616.  
  617.    public void selectInitialValue() {
  618.       OptionPaneUI var1 = this.getUI();
  619.       if (var1 != null) {
  620.          var1.selectInitialValue(this);
  621.       }
  622.  
  623.    }
  624.  
  625.    private static int styleFromMessageType(int var0) {
  626.       switch (var0) {
  627.          case -1:
  628.          default:
  629.             return 2;
  630.          case 0:
  631.             return 4;
  632.          case 1:
  633.             return 3;
  634.          case 2:
  635.             return 8;
  636.          case 3:
  637.             return 7;
  638.       }
  639.    }
  640.  
  641.    private void writeObject(ObjectOutputStream var1) throws IOException {
  642.       Vector var2 = new Vector();
  643.       var1.defaultWriteObject();
  644.       if (this.icon != null && this.icon instanceof Serializable) {
  645.          var2.addElement("icon");
  646.          var2.addElement(this.icon);
  647.       }
  648.  
  649.       if (this.message != null && this.message instanceof Serializable) {
  650.          var2.addElement("message");
  651.          var2.addElement(this.message);
  652.       }
  653.  
  654.       if (this.options != null) {
  655.          Vector var3 = new Vector();
  656.          int var4 = 0;
  657.  
  658.          for(int var5 = this.options.length; var4 < var5; ++var4) {
  659.             if (this.options[var4] instanceof Serializable) {
  660.                var3.addElement(this.options[var4]);
  661.             }
  662.          }
  663.  
  664.          if (var3.size() > 0) {
  665.             var4 = var3.size();
  666.             Object[] var9 = new Object[var4];
  667.             var3.copyInto(var9);
  668.             var2.addElement("options");
  669.             var2.addElement(var9);
  670.          }
  671.       }
  672.  
  673.       if (this.initialValue != null && this.initialValue instanceof Serializable) {
  674.          var2.addElement("initialValue");
  675.          var2.addElement(this.initialValue);
  676.       }
  677.  
  678.       if (this.value != null && this.value instanceof Serializable) {
  679.          var2.addElement("value");
  680.          var2.addElement(this.value);
  681.       }
  682.  
  683.       if (this.selectionValues != null) {
  684.          boolean var6 = true;
  685.          int var8 = 0;
  686.  
  687.          for(int var10 = this.selectionValues.length; var8 < var10; ++var8) {
  688.             if (this.selectionValues[var8] != null && !(this.selectionValues[var8] instanceof Serializable)) {
  689.                var6 = false;
  690.                break;
  691.             }
  692.          }
  693.  
  694.          if (var6) {
  695.             var2.addElement("selectionValues");
  696.             var2.addElement(this.selectionValues);
  697.          }
  698.       }
  699.  
  700.       if (this.inputValue != null && this.inputValue instanceof Serializable) {
  701.          var2.addElement("inputValue");
  702.          var2.addElement(this.inputValue);
  703.       }
  704.  
  705.       if (this.initialSelectionValue != null && this.initialSelectionValue instanceof Serializable) {
  706.          var2.addElement("initialSelectionValue");
  707.          var2.addElement(this.initialSelectionValue);
  708.       }
  709.  
  710.       var1.writeObject(var2);
  711.    }
  712.  
  713.    private void readObject(ObjectInputStream var1) throws IOException, ClassNotFoundException {
  714.       var1.defaultReadObject();
  715.       Vector var2 = (Vector)var1.readObject();
  716.       int var3 = 0;
  717.       int var4 = var2.size();
  718.       if (var3 < var4 && var2.elementAt(var3).equals("icon")) {
  719.          ++var3;
  720.          this.icon = (Icon)var2.elementAt(var3);
  721.          ++var3;
  722.       }
  723.  
  724.       if (var3 < var4 && var2.elementAt(var3).equals("message")) {
  725.          ++var3;
  726.          this.message = var2.elementAt(var3);
  727.          ++var3;
  728.       }
  729.  
  730.       if (var3 < var4 && var2.elementAt(var3).equals("options")) {
  731.          ++var3;
  732.          this.options = var2.elementAt(var3);
  733.          ++var3;
  734.       }
  735.  
  736.       if (var3 < var4 && var2.elementAt(var3).equals("initialValue")) {
  737.          ++var3;
  738.          this.initialValue = var2.elementAt(var3);
  739.          ++var3;
  740.       }
  741.  
  742.       if (var3 < var4 && var2.elementAt(var3).equals("value")) {
  743.          ++var3;
  744.          this.value = var2.elementAt(var3);
  745.          ++var3;
  746.       }
  747.  
  748.       if (var3 < var4 && var2.elementAt(var3).equals("selectionValues")) {
  749.          ++var3;
  750.          this.selectionValues = var2.elementAt(var3);
  751.          ++var3;
  752.       }
  753.  
  754.       if (var3 < var4 && var2.elementAt(var3).equals("inputValue")) {
  755.          ++var3;
  756.          this.inputValue = var2.elementAt(var3);
  757.          ++var3;
  758.       }
  759.  
  760.       if (var3 < var4 && var2.elementAt(var3).equals("initialSelectionValue")) {
  761.          ++var3;
  762.          this.initialSelectionValue = var2.elementAt(var3);
  763.          ++var3;
  764.       }
  765.  
  766.       if (this.getUIClassID().equals("OptionPaneUI")) {
  767.          byte var5 = JComponent.getWriteObjCounter(this);
  768.          --var5;
  769.          JComponent.setWriteObjCounter(this, var5);
  770.          if (var5 == 0 && this.ui != null) {
  771.             this.ui.installUI(this);
  772.          }
  773.       }
  774.  
  775.    }
  776.  
  777.    protected String paramString() {
  778.       String var1 = this.icon != null ? this.icon.toString() : "";
  779.       String var2 = this.initialValue != null ? this.initialValue.toString() : "";
  780.       String var3 = this.message != null ? this.message.toString() : "";
  781.       String var4;
  782.       if (this.messageType == 0) {
  783.          var4 = "ERROR_MESSAGE";
  784.       } else if (this.messageType == 1) {
  785.          var4 = "INFORMATION_MESSAGE";
  786.       } else if (this.messageType == 2) {
  787.          var4 = "WARNING_MESSAGE";
  788.       } else if (this.messageType == 3) {
  789.          var4 = "QUESTION_MESSAGE";
  790.       } else if (this.messageType == -1) {
  791.          var4 = "PLAIN_MESSAGE";
  792.       } else {
  793.          var4 = "";
  794.       }
  795.  
  796.       String var5;
  797.       if (this.optionType == -1) {
  798.          var5 = "DEFAULT_OPTION";
  799.       } else if (this.optionType == 0) {
  800.          var5 = "YES_NO_OPTION";
  801.       } else if (this.optionType == 1) {
  802.          var5 = "YES_NO_CANCEL_OPTION";
  803.       } else if (this.optionType == 2) {
  804.          var5 = "OK_CANCEL_OPTION";
  805.       } else {
  806.          var5 = "";
  807.       }
  808.  
  809.       String var6 = this.wantsInput ? "true" : "false";
  810.       return super.paramString() + ",icon=" + var1 + ",initialValue=" + var2 + ",message=" + var3 + ",messageType=" + var4 + ",optionType=" + var5 + ",wantsInput=" + var6;
  811.    }
  812.  
  813.    public AccessibleContext getAccessibleContext() {
  814.       if (this.accessibleContext == null) {
  815.          this.accessibleContext = new AccessibleJOptionPane(this);
  816.       }
  817.  
  818.       return this.accessibleContext;
  819.    }
  820. }
  821.